草庐IT

java midi 延迟

全部标签

tcp - 如何减少 MODBUS TCP 的 ARP 刷新导致的 TCP 延迟

我们有一个应用程序以定义的速率定期发送TCP消息(使用MODBUSTCP)。如果在设定时间内未收到消息,则会发出警报。但是,每隔一段时间,接收消息似乎会有延迟。调查表明,这与正在刷新的ARP缓存有关,导致重新发送TCP消息。IP堆栈提供者告诉我们这是TCP的预期行为。问题是,这是IP堆栈的预期行为吗?如果不是,其他堆栈如何在IP/MAC地址转换不可用期间工作如果这是预期的行为,我们如何才能减少这段时间内TCP消息的延迟?(永久ARP条目已尝试过,但不是最佳解决方案) 最佳答案 在我上一份工作中,我曾在一家制造路由器和交换机的公司工作

sockets - 当其中一个数据包被丢弃时,TCP 协议(protocol)将如何延迟数据包传输?

如果客户端套接字发送:数据包A-丢弃数据包B数据包C服务器套接字是否会接收并排队B和C,然后当接收到A时,B和C将立即传递给服务器应用程序?或者B和C也会被反感?或者在A交付之前根本不会发送任何数据包? 最佳答案 TCP是一种复杂的协议(protocol),它会根据当前网络状态更改许多参数,有关该主题的书籍很多。回答您的问题最清楚的方法是说TCP通常以字节为单位维护给定的发送“窗口”大小。这是在成功返回先前发送的确认之前将发送的数据量。在旧的TCP规范中,在该窗口内丢弃的数据包将导致从丢弃的数据包开始完全重新发送数据。为了解决这个明

c - 如何在内核中放置微秒延迟?

我想在Linux内核中设置微秒级延迟。有哪些函数支持,需要添加什么头文件? 最佳答案 最好阅读linux内核源代码中的Documentation/timers/timers-howto.txt简而言之,您可以使用msleep(unsignedlongmsecs)其header为linux/delay.h 关于c-如何在内核中放置微秒延迟?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

c++ - Android 到 Windows 的 tcp 通信延迟

我开发了一个android客户端应用程序和一个windowsc++服务器应用程序,它们在本地网络中与tcp/ip通信。数据交换在我的笔记本电脑上运行良好(win8,通过wifi连接到网络)。在我的第二台电脑(win7)上,传入的消息被收集并以大约20条消息的形式转发到我的应用程序。因此,我每秒只能更新大约两次当前传感器数据(在笔记本电脑上大约每秒30次)。两台电脑和安卓手机都在同一个本地网络中。网络中没有其他设备,也没有连接到互联网。我已经为第二台电脑尝试了wifi连接和lan连接,没有明显差异。我假设任何Windows7设置都对这种行为负责。 最佳答案

java - Spring Integration tcp/ip 连接延迟

我们正在使用Spring集成4.1.3。有时从特定服务器请求连接需要超过5秒。step1和step2之间发生了什么?为什么延迟了?客户端日志step1:▶DEBUG11.2818:14:33.237[ajp-bio-8109-exec-3]org.springframework.integration.ip.tcp.connection.TcpNetClientConnectionFactory[obtainNewConnection:98]-Openingnewsocketconnectionto10.0.12.111:36401step2:▶DEBUG11.2818:14:38.3

networking - 定义做某事所需的时间(延迟、吞吐量、带宽)

我了解延迟-消息从发件人到收件人所需的时间-和带宽-在给定时间内可以传输的最大数据量-但我正在努力寻找合适的术语来描述相关事物:如果协议(protocol)是基于对话的——负载在端点之间被拆分成许多来回——那么延迟会影响“吞吐量”1。1这个叫什么,有没有简洁明了的解释? 最佳答案 网上冲浪,尝试优化我的nas(nas4free)的性能我遇到了page描述了这个问题的答案(恕我直言)。特别是这个部分引起了我的注意:"Indatatransmission,TCPsendsacertainamountofdatathenpauses.To

delphi - TSQLConnection.Connect with InterBase 7.5 奇怪的三分钟延迟

环境:Delphi2009客户端应用程序(和一个Java),在Windows2003服务器上运行通过dbExpress连接到InterBase7.5.1(另一个Windows2003服务器)Delphi应用程序使用TSQLConnection对象的AfterConnect事件处理程序记录打开TSQLConnection的时间。在随机间隔中,连接需要三分钟的“额外时间”。我最初怀疑这可能是SQL查询的问题,但今天更详细的日志记录显示它是挂起的SQLConnection.Connect。我不确定这是否是网络、InterBase服务器或Delphi/dbExpress层的问题。有没有人经历过

Windows TCP 套接字接收延迟

外部Controller每30毫秒通过TCP/IP套接字发送120字节的消息。应用程序通过标准的tcp/ip套接字接收函数接收此消息。它在Linux和OSX下完美运行(recv每30毫秒返回120字节的消息)。在Windows下,recv大约每1秒返回~3500字节缓冲区。其余时间返回0。Windows下的Wireshark显示消息确实每30毫秒发送一次。如何使windowstcpsocket正常工作(不延迟)?PS:我已经玩过TCP_NODELAY和TcpAckFrequency。Wireshark显示一切正常。所以我认为这是一些Windows优化,应该关闭。读书--intWMast

sockets - 针对低延迟和小数据包的建议 TCP 套接字设置

我想知道我是否可以对TCP套接字进行一些调整,除了禁用Nagle,以便为主要包含小数据包的客户端-服务器协议(protocol)获得尽可能低的延迟。客户端数据包大多小于100字节,服务器数据包大小为100-300字节。我在服务器端使用java,在客户端使用(目标)c。 最佳答案 您可能需要考虑减少延迟确认超时(如果可能)。即使Nagle关闭,在您不经常发送数据包并且发生数据包丢失的情况下,延迟ack可能会导致数据包丢失检测延迟,然后重传延迟。 关于sockets-针对低延迟和小数据包的建

javascript - 用于低延迟网页游戏的 HTTP 或 Websocket?

我是网络开发新手,只想了解一些性能比较。我正在网络上构建俄罗斯方block对战游戏。大多数游戏逻辑都在用C++构建的服务器内部。对于客户,我打算使用cocos2d-js,它基本上是javascript。玩家的行为会影响对手。首先,用户的输入需要正确地到达服务器,服务器将输入应用到逻辑中,并将新的游戏状态发送回客户端。客户端只需要在屏幕上表示Sprite。我最初的计划是用TCP套接字实现它,因为它可能需要低延迟。但是,我刚刚意识到我们不在网络上使用TCP套接字。这种应用使用HTTP连接可行吗?我应该尝试网络套接字吗?有什么优点和缺点? 最佳答案